1、图像渲染
思想：dfs
找到当前干什么   然后下一步干什么
其实也就是首先明白第一步干什么，然后进行下一步干什么
class Solution {
public:
    int nextP[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
    void dfs(vector<vector<int>>& image,vector<vector<int>>& book,int row,int col,int curx,int cury,int newcolor,int oldcolor)
    {
        image[curx][cury]=newcolor;
        book[curx][cury]=1;
        for(int i=0;i<4;i++)
        {
            int newx=curx+nextP[i][0];
            int newy=cury+nextP[i][1];
            if(newx>=row||newx<0||newy>=col||newy<0)
                continue;
            if(image[newx][newy]==oldcolor&&book[newx][newy]==0)
                dfs(image,book,row,col,newx,newy,newcolor,oldcolor);
        }
    }
    vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int newColor) {
        if(image.empty())
            return image;
        int row=image.size();
        int col=image[0].size();
        int oldcolor=image[sr][sc];
        vector<vector<int>> book(row,vector<int>(col,0));
        dfs(image,book,row,col,sr,sc,newColor,oldcolor);
        return image;
    }
};
2、